home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / tools / czesc_3 / multiuser / src / library / config.h < prev    next >
C/C++ Source or Header  |  1994-03-07  |  3KB  |  114 lines

  1. /************************************************************
  2. * MultiUser - MultiUser Task/File Support System                *
  3. * ---------------------------------------------------------    *
  4. * Configuration                                                            *
  5. * ---------------------------------------------------------    *
  6. * © Copyright 1993-1994 Geert Uytterhoeven                        *
  7. * All Rights Reserved.                                                    *
  8. ************************************************************/
  9.  
  10.  
  11. #include "multiuser.h"
  12.  
  13.  
  14.     /*
  15.      *        DosType for the MultiUserFileSystem
  16.      */
  17.  
  18. #define ID_MUFS_DISK    (0x6D754653)            /* 'muFS' */
  19.  
  20.  
  21.     /*
  22.      *        MultiUserFileSystem Volumes
  23.      */
  24.  
  25. struct muVolume {
  26.     struct muVolume *Next;
  27.     struct DosList *DosList;            /* DosList for this muFS Volume */
  28.     struct MsgPort *Process;            /* Process for this muFS Volume */
  29. };
  30.  
  31.  
  32.     /*
  33.      *        MultiUser Configuration
  34.      */
  35.  
  36. struct muConfig {
  37.     ULONG Flags;                                /* See definitions below */
  38.     ULONG LogFlags;                            /* See definitions below */
  39.     UWORD PasswduidLevel;                    /* Lowest uid for users who can */
  40.                                                     /* change their passwords */
  41.     UWORD PasswdgidLevel;                    /* Lowest gid for users who can */
  42.                                                     /* change their passwords */
  43. };
  44.  
  45. #define muCFGB_LimitDOSSetProtection    (0)    /* LimitDOSSetProtection */
  46. #define muCFGB_Profile                        (1)    /* Execute the .profile */
  47. #define muCFGB_LastLoginReq                (2)    /* Display the lastlogin date */
  48.  
  49. #define muLogB_Startup                        (0)    /* Startup Information */
  50. #define muLogB_Login                            (1)    /* Log successful Login/Logout */
  51. #define muLogB_LoginFail                    (2)    /* Log unsuccessful Login/Logout */
  52. #define muLogB_Passwd                        (3)    /* Log successful Passwd */
  53. #define muLogB_PasswdFail                    (4)    /* Log unsuccessful Passwd */
  54. #define muLogB_CheckPasswd                    (5)    /* Log successful CheckPasswd */
  55. #define muLogB_CheckPasswdFail            (6)    /* Log unsuccessful CheckPasswd */
  56.  
  57. #define muCFGF_LimitDOSSetProtection    (1<<muCFGB_LimitDOSSetProtection)
  58. #define muCFGF_Profile                        (1<<muCFGB_Profile)
  59. #define muCFGF_LastLoginReq                (1<<muCFGB_LastLoginReq)
  60.  
  61. #define muLogF_Startup                        (1<<muLogB_Startup)
  62. #define muLogF_Login                            (1<<muLogB_Login)
  63. #define muLogF_LoginFail                    (1<<muLogB_LoginFail)
  64. #define muLogF_Passwd                        (1<<muLogB_Passwd)
  65. #define muLogF_PasswdFail                    (1<<muLogB_PasswdFail)
  66. #define muLogF_CheckPasswd                    (1<<muLogB_CheckPasswd)
  67. #define muLogF_CheckPasswdFail            (1<<muLogB_CheckPasswdFail)
  68.  
  69.  
  70.     /*
  71.      *        Private User Definition Entry
  72.      */
  73.  
  74. struct muUserDef {
  75.     struct muUserDef *Next;
  76.     STRPTR UserID;
  77.     STRPTR Password;
  78.     UWORD uid;
  79.     UWORD gid;
  80.     STRPTR UserName;
  81.     STRPTR HomeDir;
  82.     STRPTR Shell;
  83.    UWORD NumSecGroups;
  84.    UWORD *SecGroups;
  85. };
  86.  
  87.  
  88.     /*
  89.      *        Private Group Definition Entry
  90.      */
  91.  
  92. struct muGroupDef {
  93.     struct muGroupDef *Next;
  94.     STRPTR GroupID;
  95.     UWORD gid;
  96.     UWORD MgrUid;
  97.     STRPTR GroupName;
  98. };
  99.  
  100.  
  101.     /*
  102.      *        Function Prototypes
  103.      */
  104.  
  105.  
  106. extern struct muUserDef *GetUserDefs(void);
  107. extern struct muGroupDef *GetGroupDefs(void);
  108. extern void FreeDefs(void);
  109. extern BOOL UpdateUserDefs(void);
  110. extern BOOL InitVolumes(void);
  111. extern void FreeVolumes(void);
  112. extern BOOL CheckmuFSVolume(struct MsgPort *port);
  113. extern void VLogF(STRPTR fmt, LONG *argv);
  114.